The present invention relates in general to neural networks and, more particularly, to a neural network for providing bi-directional signal transformation through the synapses of the neural network.
A biological neuron is a single nerve cell responsive to stimuli through weighted inputs known as synapses. The weighted stimuli are summed and processed through a particular non-linearity (sigmoid) associated with the neuron. The output of the neuron may be connected to the synapses of other neurons forming an interconnection known as a neural network which possesses many desirable properties including the ability to learn and recognize information patterns in a parallel manner.
One common implementation of the neural network is known as a Kohonen feature map comprising a matrix of neurons interconnected between a plurality of inputs and a plurality of outputs, wherein a spatial vector of an input signal applied at the inputs undergoes a forward signal transformation according to the values of the synapses (weights) and sigmoid functions of the neurons for providing an output spatial vector at the outputs. It is often desirable to perform bi-directional signal transformations, possibly to correct or improve an erroneous input signal. For example, given only a partial vector of the input signal applied at the inputs, possibly from the corruption of the original input signal in the presence of noise, the resulting spatial vector of the output signal may initially be a poor representation of the transformation of the original input signal. However, the output signal may be reverse transformed through a similar second feature map and re-applied to the inputs of the first feature map for obtaining a better estimate of the original input signal. The estimate of the input signal may be reprocessed in the forward direction through the first feature map and again reverse transformed through the second feature map for an even better estimate. The cycles may continue until an acceptable transformation of the original input signal is realized, or until no further improvement appears.
When performing the forward and reverse signal transformations, most if not all neural networks utilize two similar neural structures with separate drive and control circuitry. This approach not only requires a duplication of the neural network, but also a close matching between the corresponding synapses of the forward and reverse transformation neural networks. Any discrepancies in the synapse matching may easily lead to errors in the signal transformations thereby defeating the effort to provide a better estimate of the input signal. Moreover, the physical form of the neural networks is often quite large, especially the synapses and associated conductors and control circuitry, occupying a major portion of the available space. Hence, maintaining two neural networks is inefficient. A more desirable approach would be to allow bi-directional transmission through a single neural network, whereby only one matrix of synapses is used for the forward and reverse signal transformations.
Hence, there is a need for an improved neural network allowing bi-directional transmission through a matrix of synapses while using the same weighting elements and associated circuitry for the forward and reverse signal transformations for providing a more efficient utilization of the neural network.